package com.czmh.etc.onlinepubsys.request.cmg;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * Copyright (C), 2017-2021
 *
 * @Author: Chenzj
 * Date: 2021-07-15
 * FileName: ApplyOnlineRequest
 * Description:
 */
@ApiModel("招商局-线上银行签约申请-对接请求对象")
@Data
public class ApplyOnlineRequest {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("用户ID")
    @JSONField(serialize = false)
    private String userId; //用户ID

    @ApiModelProperty("订单id")
    @JSONField(serialize = false)
    private String orderId; //订单id

    @ApiModelProperty(notes = "时间戳", hidden = true)
    private Long time;

    @ApiModelProperty(notes = "客户端唯一码，accessNo+随机编", hidden = true)
    private String clientKey;

    @ApiModelProperty(notes = "银行账户名称", required = true)
    private String accountName;

    @ApiModelProperty(notes = "银行卡号", required = true)
    private String bankCardNo;

    @ApiModelProperty(notes = "银行卡类型 0-借记卡1-信用卡", required = true)
    private Integer bankCardType;

    @ApiModelProperty(notes = "证件号码", required = true)
    private String idNum;

    @ApiModelProperty(notes = "证件类型：0-身份证； 1-军官证；2-护照；3-港澳通行证；4-台湾通行证 5-营业执照；6-组织机构代码证；7-社会团体法人 8-社会信用代码 9-事业单位法人 10-律师事务所许可证", required = true)
    private Integer idType;

    @ApiModelProperty(notes = "发行机构号", required = true)
    private String issueOrgCode;

    @ApiModelProperty(notes = "支付机构编码102 中国\n" +
            "工商银行（线上）103\n" +
            "中国农业银行（线上）\n" +
            "105 中国建设银行（线\n" +
            "上）", required = true)
    private String signCode;

    @JSONField(serialize = false)
    @ApiModelProperty("银行编码 CCB-建行 ABC-农行 ICBC-工行")
    private String channelType; //签约渠道编码

    @ApiModelProperty(notes = "签约类型 2-在线", required = true)
    private Integer signType;

    @ApiModelProperty(notes = "银行预留手机号", required = true)
    private String tel;

    @ApiModelProperty(notes = "车牌号", required = true)
    private String vehiclePlate;

    @ApiModelProperty(notes = "车牌颜色,0蓝色、1黄色、2黑色、3白色4、渐变绿色5、黄绿双拼色 6、蓝白渐变色", required = true)
    private Integer vehiclePlateColor;
}
